package com.qk.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;

import com.qk.utils.CustomLocalDateTimeDeserializers;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 *
 * @author lyl
 * @created 2025/10/9 9:02
 * @description
 *
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Activity {
    /**
     * 活动ID，主键
     */
    private Integer id;

    /**
     * 渠道来源，1:线上活动, 2:推广介绍
     */
    private Integer channel;

    /**
     * 活动名称
     */
    private String name;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // 额外添加一个注解支持前端传入的带T格式（仅用于反序列化）
    @JsonDeserialize(using = CustomLocalDateTimeDeserializers.class)
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // 额外添加一个注解支持前端传入的带T格式（仅用于反序列化）
    @JsonDeserialize(using = CustomLocalDateTimeDeserializers.class)
    private LocalDateTime endTime;

    /**
     * 活动简介
     */
    private String description;

    /**
     * 活动类型，1:课程折扣, 2:代金券
     */
    private Integer type;

    /**
     * 课程折扣
     */
    private Double discount;

    /**
     * 代金券金额（元）
     */
    private Integer voucher;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}
